﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using UIWindows.Attributes;
using UIWindows.Domains;
using UIWindows.Enums;
using XingLucifer.IBase.Enums;

namespace UIWindows.Models.ParameterModels
{
    public class CollectionItemsParameterModel :  INotifyPropertyChanged
    {
        /// <summary>
        /// 工单
        /// </summary>
        [UIMark("工单集合", null, 1)]
       // [JsonIgnore]
        public ObservableCollection<string> WorkOrdersCollection { get; set; } = new ObservableCollection<string>();
      //  [UIMark("工单编号")]
       // [Description("工单编号")]
      //  [JsonIgnore]
        public string WorkOrder { get; set; } = string.Empty;
        /// <summary>
        /// 电解液批次
        /// </summary>
        [UIMark("电解液批次", null, 1)]
        [Description("电解液批次")]
        public string BatchElectrolyte { get; set; } = string.Empty;
        /// <summary>
        /// 电解液料数量
        /// </summary>
        [UIMark("电解液数量", null, 1)]
        [Description("电解液数量")]
        public string BatchCount { get; set; } = string.Empty;
        /// <summary>
        /// 密封钉批次
        /// </summary>
        [UIMark("密封钉批次", null, 1)]
        [Description("密封钉批次")]
        public string GlueNailBatch { get; set; } = string.Empty;
        /// <summary>
        /// 生产批次号
        /// </summary>
        //[UIMark("生产批次号")]
        //[Description("生产批次号")]
        //public string BatchNumber { get; set; } = string.Empty;
        
        /// <summary>
        /// 工序编码
        /// </summary>
        [UIMark("工序编码")]
        [Description("工序编码")]
        public string TechnicsProcessCode { get; set; } = string.Empty;

        /// <summary>
        /// 工序名称
        /// </summary>
        [UIMark("工序名称")]
        [Description("工序名称")]
        public string TechnicsProcessName { get; set; } = string.Empty;

        /// <summary>
        /// 工步编码
        /// </summary>
        [UIMark("工步编码")]
        [Description("工步编码")]
        public string TechnicsStepCode { get; set; } = string.Empty;

        /// <summary>
        /// 工步名称
        /// </summary>
        [UIMark("工步名称")]
        [Description("工步名称")]
        public string TechnicsStepName { get; set; } = string.Empty;

       
        /// <summary>
        /// 设备编码
        /// </summary>
        [UIMark("设备编码")]
        [Description("设备编码")]
        public string EquipNum { get; set; } = string.Empty;
        /// <summary>
        /// 设备名称
        /// </summary>
        [UIMark("设备名称")]
        [Description("设备名称")]
        public string EquipName { get; set; } = string.Empty;
        /// <summary>
        /// 产线编号
        /// </summary>
        [UIMark("产线编号")]
        [Description("产线编号")]
        public string ProductionLineNo { get; set; } = string.Empty;

        /// <summary>
        /// 补液设备
        /// </summary>
        //[UIMark("补液设备")]
        //[Description("补液设备")]
        //public string RehydrationEquipment { get; set; } = string.Empty;
        /// <summary>
        /// 生产类型
        /// </summary>
        [UIMark("生产类型", null, 2, typeof(ProductTypeEnums))]
        [Description("生产类型")]
        public ProductTypeEnums ProductType { get; set; } = ProductTypeEnums.量产;
        /// <summary>
        /// 实验单号
        /// </summary>
        //[UIMark("实验单号")]
        //[Description("实验单号")]
        //public string ExperimentOrderNumber { get; set; } = string.Empty;

        public event PropertyChangedEventHandler? PropertyChanged;
    }
}
